﻿#pragma warning disable 1591
//*********************************************************
//
//    Copyright (c) Microsoft. All rights reserved.
//    This code is licensed under the Apache License, Version 2.0.
//    THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
//    ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
//    IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
//    PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
//
//*********************************************************

namespace Microsoft.Research.eResearch.Publisher.Wcf.WcfPublisherMessageService {
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="WcfPublisherMessageService.IWcfPublisherMessageService")]
    public interface IWcfPublisherMessageService {
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWcfPublisherMessageService/Register", ReplyAction="http://tempuri.org/IWcfPublisherMessageService/RegisterResponse")]
        Microsoft.Research.eResearch.Blackboard.Common.SubscriptionItem[] Register(System.Uri returnAddress);
        
        [System.ServiceModel.OperationContractAttribute(IsOneWay=true, Action="http://tempuri.org/IWcfPublisherMessageService/Unregister")]
        void Unregister(System.Uri returnAddress);
        
        [System.ServiceModel.OperationContractAttribute(IsOneWay=true, Action="http://tempuri.org/IWcfPublisherMessageService/Publish")]
        void Publish(Microsoft.Research.eResearch.Blackboard.Common.BlackboardMessage message);
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface IWcfPublisherMessageServiceChannel : Microsoft.Research.eResearch.Publisher.Wcf.WcfPublisherMessageService.IWcfPublisherMessageService, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class WcfPublisherMessageServiceClient : System.ServiceModel.ClientBase<Microsoft.Research.eResearch.Publisher.Wcf.WcfPublisherMessageService.IWcfPublisherMessageService>, Microsoft.Research.eResearch.Publisher.Wcf.WcfPublisherMessageService.IWcfPublisherMessageService {
        
        public WcfPublisherMessageServiceClient() {
        }
        
        public WcfPublisherMessageServiceClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public WcfPublisherMessageServiceClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public WcfPublisherMessageServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public WcfPublisherMessageServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        public Microsoft.Research.eResearch.Blackboard.Common.SubscriptionItem[] Register(System.Uri returnAddress) {
            return base.Channel.Register(returnAddress);
        }
        
        public void Unregister(System.Uri returnAddress) {
            base.Channel.Unregister(returnAddress);
        }
        
        public void Publish(Microsoft.Research.eResearch.Blackboard.Common.BlackboardMessage message) {
            base.Channel.Publish(message);
        }
    }
}
